package com.qqtech.qquan.order.model;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.qqtech.core.common.util.TimeUtil;

import java.util.List;

@SuppressWarnings("serial")
public class OrderBaseQuery extends OrderBase{
	
	/**
	 * 是否今天改变orderStatus的
	 */
	private Integer orderStatusIsToday;
	/**
	 * 供应商Id
	 */
	private Integer supplierId;

	/**
	 * 是否仅查询当天数据,1-是,2-否
	 */
	private Integer onlyToday;

	/**
	 * 是否已配送，1已经配送完成，2-待配送（包括未配送，配送中）
	 */
	private Integer hasSendDelivery;
	/**
	 * 是否超级配送权限，1是，2-否
	 */
	private Integer hasSuperSendDelivery;
	/**
	 * 查询我指派配送的订单
	 */
	private Integer parentSendDeliveryUser;
	/** 配送人（user_base）id */
	private Integer sendDeliveryUserId;
	/** 不等于的退款状态 */
	private Integer notEqualReturnPayStatus;
	/**店铺名称**/
	private java.lang.String shopName;
	/**买方名称**/
	private java.lang.String buyerNick;
	/**
	 * 查询开始时间
	 */
	private java.sql.Timestamp startAt;
	/**
	 * 查询结束时间
	 */
	private java.sql.Timestamp endAt;
	
	/**
	 * 查询订单改变时间开始时间
	 */
	private java.sql.Timestamp startOrderStatusAt;
	/**
	 * 查询订单改变时间结束时间
	 */
	private java.sql.Timestamp endOrderStatusAt;

	private List<Integer> userIds;
	
	public java.sql.Timestamp getStartOrderStatusAt() {
		return startOrderStatusAt;
	}

	public void setStartOrderStatusAt(java.sql.Timestamp startOrderStatusAt) {
		this.startOrderStatusAt = startOrderStatusAt;
	}

	public java.sql.Timestamp getEndOrderStatusAt() {
		return endOrderStatusAt;
	}

	public void setEndOrderStatusAt(java.sql.Timestamp endOrderStatusAt) {
		this.endOrderStatusAt = endOrderStatusAt;
	}

	public java.lang.String getBuyerNick() {
		return buyerNick;
	}

	public java.sql.Timestamp getEndAt() {
		return endAt;
	}

	public Integer getHasSendDelivery() {
		return hasSendDelivery;
	}

	public Integer getHasSuperSendDelivery() {
		return hasSuperSendDelivery;
	}

	public Integer getNotEqualReturnPayStatus() {
		return notEqualReturnPayStatus;
	}

	public Integer getOnlyToday() {
		return onlyToday;
	}

	public Integer getOrderStatusIsToday() {
		return orderStatusIsToday;
	}

	public Integer getParentSendDeliveryUser() {
		return parentSendDeliveryUser;
	}

	public Integer getSendDeliveryUserId() {
		return sendDeliveryUserId;
	}

	public java.lang.String getShopName() {
		return shopName;
	}

	public java.sql.Timestamp getStartAt() {
		return startAt;
	}

	public Integer getSupplierId() {
		return supplierId;
	}

	public void setBuyerNick(java.lang.String buyerNick) {
		this.buyerNick = buyerNick;
	}

	public void setEndAt(java.sql.Timestamp endAt) {
		this.endAt = endAt;
	}

	public void setEndAtStr(String v) {
		this.setEndAt(TimeUtil.getTimeByDatetimeLocal(v));
	}
	
	public void setEndOrderStatusAtStr(String v) {
		this.setEndOrderStatusAt(TimeUtil.getTimeByDatetimeLocal(v));
	}
	
	public void setHasSendDelivery(Integer hasSendDelivery) {
		this.hasSendDelivery = hasSendDelivery;
	}
	public void setHasSuperSendDelivery(Integer hasSuperSendDelivery) {
		this.hasSuperSendDelivery = hasSuperSendDelivery;
	}
	
	public void setNotEqualReturnPayStatus(Integer notEqualReturnPayStatus) {
		this.notEqualReturnPayStatus = notEqualReturnPayStatus;
	}
	
	public void setOnlyToday(Integer onlyToday) {
		this.onlyToday = onlyToday;
	}

	public void setOrderStatusIsToday(Integer orderStatusIsToday) {
		this.orderStatusIsToday = orderStatusIsToday;
	}

	public void setParentSendDeliveryUser(Integer parentSendDeliveryUser) {
		this.parentSendDeliveryUser = parentSendDeliveryUser;
	}

	public void setSendDeliveryUserId(Integer sendDeliveryUserId) {
		this.sendDeliveryUserId = sendDeliveryUserId;
	}

	public void setShopName(java.lang.String shopName) {
		this.shopName = shopName;
	}

	public void setStartAt(java.sql.Timestamp startAt) {
		this.startAt = startAt;
	}

	public void setStartAtStr(String v) {
		this.setStartAt(TimeUtil.getTimeByDatetimeLocal(v));
	}
	
	public void setStartOrderStatusAtStr(String v) {
		this.setStartOrderStatusAt(TimeUtil.getTimeByDatetimeLocal(v));
	}
	
	public void setSupplierId(Integer supplierId) {
		this.supplierId = supplierId;
	}

	public List<Integer> getUserIds() {
		return userIds;
	}

	public void setUserIds(List<Integer> userIds) {
		this.userIds = userIds;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this,
				ToStringStyle.MULTI_LINE_STYLE);
	}
}